The Moving Portal API documentationThe Moving Portal API documentation
Key concepts
API concepts
Services
Key concepts
API concepts
Services
  • Key concepts
  • API concepts
  • GDPR
  • Development
  • Releases
  • Services
  • Authentication
  • Instruction
  • Instruction search
  • Notes
  • Data
  • Referral
  • Quote
  • Quotes search
  • Supplier operations
  • Notifications
  • Testing
  • Email integration
  • Objects
  • Examples
    • Introducer
      • Authentication
      • Data
      • Quote
      • Quotes search
      • Referral
      • Instruction
      • Instructions search
      • Instruction notification
      • Notes
    • Supplier
      • Authentication
      • Data
      • Instruction
      • Instructions search
      • Instruction notification
      • Notes
      • Supplier operations
  • OTHER

Key concepts

Business terms

This documentation was created by developers and is meant for developers to use the API. As a developer we know that some of the business terms may not be clear. So we will attempt to clear up some of these.

A good place to start is our main websites

  • The Moving Portal
  • I My Home

Products

Our main products are surveys. There are typically two types of survey: RICS Home Survey – Level 2 (with or without a valuation) or a RICS Home Survey – Level 3. We also offer valuations (e.g. RICS Help to Buy valuation) and specialist reports (e.g. Structural Engineer report). Associated with some products are attributes (see below).

Introducer

An introducer to The Moving Portal is an organisation who pushes or introduces business to us. They are typically Mortgage Brokers, Financial Advisors, Estate Agents, Solicitors, but may also be a firm who provide a range of property services e.g. conveyancing, mortgages. The Introducer can receive a referral fee for business pushed to us.

Supplier

A supplier to The Moving Portal is an organisation who supplies us what our customers have bought - typically a survey or valuation. This is likely to be a Surveying firm, but may also be a firm who can find a surveyor, e.g. for specialist surveys.

Customers

Most of our customers are people who are looking for surveys or valuations, usually for the purpose of moving house. Although, some of our customers may also be looking for a specialist survey (e.g. Structural Engineers report).

Sometimes the customer could be an Introducer who is paying for the survey, e.g. a lender. This is known in the API as the Primary Customer and the customers listed will be the clients of the primary customer.

Panel

We work with a set of surveyor firms (our suppliers) known as a panel. All surveyors on The Moving Portal’s panel are RICS accredited. We operate as a panel manager to offer a comprehensive service that will protect our customers interests and ensure that everything is managed smoothly.

Quote

Our system can produce a quote for a product which can provide one or more results. This can be manipulated by the introducer (e.g. change the referral fee). We typically do not chase quotes generated by an introducer.

Referral

An Introducer can instruct a quote which in most cases will be known as a referral to us. Our team will contact the customer to convert the referral into an order. As well as referring a quote to us, using the API an introducer can send a direct referral to us.

Order

An order is an instruction which has been paid for and we can then proceed with assigning it to a conveyancer on our panel.

INFO

An introducer may have already taken payment for a quote. In this circumstance the quote will skip being a referral and be treated as Ordered.

Instruction and Case

An instruction is a general term and includes Referrals and Orders. It is when an introducer instructs us to do something with the quote or referral they have sent us e.g. to convert a referral into an order and then to assign a surveyor and manage the process until completion. An introducer cannot make changes once they have instructed us. We use the terms Instruction and Case interchangeably throughout our API.

Introduction

We act as a panel manager for suppliers of surveys. These could be surveyor firms or other panel managers who provide similar functionality for specialist requirements. As a panel manager we provide a single service to interact with our nationwide network of suppliers of surveys.

The Moving Portal is a B2B system where we receive instructions for surveys from Introducers, e.g. mortgage brokers, estate agents, lenders, financial advisors or from other organisations representing these users. The introducers act on behalf of their customers (i.e. the people who want a survey). We can also receive instructions directly from customers.

These introducers may have went through a quoting process before sending a referral or can send direct referrals to us. Our team will then try to convert the referred instruction into an ordered instruction after payment has been received from the customer.

I My Home is a B2C system where we allow customers to create quotes, allowing those quotes to be referred to us as an Instruction.

On both systems, when we have an instruction that has been ordered (checked and paid for) we send it to a Supplier. The supplier will then book an appointment with the access provider (the estate agent or vendor selling the property). After the appointment has taken place, the supplier should confirm the appointment took place and then upload a report.

This API provides functionality to both Introducers and Suppliers to take them through this journey.

Customers can usually logon to both portals to allow them to make an online payment for their case and track the progress as well as receive emails and SMS messages.

INFO

It is possible for Introducers to be configured so that their customers do not logon to our portal. This is usually where the Introducer is the actual customer (i.e. normally a lender).

A simplified view of the journey taken by a quote/referral for an Introducer and an instruction for Supplier is described below.

INFO

At most points through the process it is possible for an Instruction to be Cancelled, Put on Hold (and subsequently Taken off Hold).

Cancelled cases can also be Uncancelled and Completed cases can be reopened (although our policy is to try not to do this).

Other changes can also take place (e.g. product is changed, notes are added, case is re-allocated to a different supplier).

These are not shown in these simplified descriptions and diagrams.

INFO

As a result of any of the operations performed a number of actions may also take place as part of the process, e.g. such as sending email and SMS messages, triggering invoices and payments.

Introducer journey

There are a few ways of getting a referral to us.

  • The first approach is to use the Quote service to create a quote. The quote will contain one or more results, from which you can choose one and refer that to us.
  • The second approach is using the Referral service and allows an introducer to create a direct referral.
Quotes

An introducer can create a quote by specifying some details

  • Product (or possibly a list of products in the future).
  • Property details - primarily the Property value/Purchase price or the banding.
  • At least one customer.

From this information we will generate a quote with a single result.

INFO

The quoting structure allows for multiple results to be returned, but this is currently not used.

In future, we may generate other results - e.g. if you requested a Level 2 survey, we may also generate a Level 2 survey with valuation and a Level 3 survey.

INFO

We allow more information to be specified when creating a quote, which currently does not impact the quote. Some additional criteria may be required in the future (e.g. for specific products).

INFO

The quoting structure allows for multiple products to be specified when quoting, but is currently not used.

With the information we will generate a quote which will usually be in the SAVED state.

INFO

It is possible that we cannot generate any results for the quote, e.g. for some specialist reports. In which case the Price on Application flag will be set.

You will have some options with the generated quote:

  • Request - if the quote has the price on application flag set it should be in the REQUESTED state.
  • Edit the property details - change details of the property.
  • Edit the customer details - you need to specify the customer details when you quote, but the customer can be modified and other customers added (or removed).
  • Email it to the customer - initially the quote is only visible to you, but you can allow the customer access to it. Once this is done you should probably not increase the fee!
  • Adjust fee - you can change your fee, which will modify the total fee.
  • Refer - send the quote to us as a referral which will set the quote to be in the REFERRED state.
  • Remove - remove the quote, i.e. it is no longer required and the quote will be in the REMOVED state.

A quote also has an expiry date - after which it will be in the EXPIRED state.

INFO

At TMP we do not normally follow up quotes generated by introducers in order to convert them into orders. The only circumstance that we do this is when the customer has generated the quote themselves for which there are a few mechanisms. Please discuss with your account manager.

Referrals

The journey for the introducer to get a referral to an instruction can start in two ways:

  • From a quote (via the Quote service).
  • From a direct referral (via the Referral service).

A direct referral will be put into a state NEW where it will be reviewed to see if The Moving Portal can accept it. The main review items will be checking of the fee, since the referrer has provided the fee themselves. Other checks will need to be done on coverage and suitability.

A quote will usually go straight through to the REFERRED state. It should already have been checked as the quoting mechanism will prevent fees that are invalid. However, checks can also be done which may push some quotes through to the NEW state.

INFO

Once a quote or direct referral has been made, the introducer cannot manipulate the instruction that has been created. They will continue to receive emails about the continuing journey of the instruction and they can track the instruction in the portal. The customer will usually receive credentials to logon and track the journey as well (although some instructions can be created without the end customer being involved).

The introducer can however logon to the interactive portal and make a card payment. This is normally done by the customer. Card payment functionality is NOT AVAILABLE via the API.

Both the introducer and customer can add notes to the case.

Once a referral has been received the steps below will be taken by TMP and the supplier:

  • Payment will be taken - at this point the instruction can be considered as ORDERED.
  • It will be assigned to a supplier putting the instruction in the ALLOCATED state. The supplier would then issue their Terms and Conditions to the customers which will add some additional information to the instruction (it will not change the status).
  • The supplier will then BOOKAPPOINTMENT. They can also REBOOKAPPOINTMENT.
  • The supplier can UPLOADREPORT (which will complete the case).
    • It may be possible to REPLACEREPORT once a case has been completed.
    • In some scenarios it is possible to COMPLETE the case without uploading.

introducer operations flow

Warning

There is functionality that may be enabled to confirm that the appointment has taken place (or not).

This functionality has not yet been enabled.

Supplier journey

The journey for the supplier starts with an ordered instruction. An instruction for a supplier works through the following stages (with OPERATIONS performed by the supplier in bold):

  • Case is ASSIGNED to a supplier (by TMP), who can then ACCEPT or DECLINE the case.
  • Whilst at the ACCEPTED status it is possible for the supplier to update the status of the Terms and Conditions (i.e. sent and/or received). This will add some additional information to the instruction (it will not change the status).
  • If the supplier accepts they will then BOOKAPPOINTMENT, which they can then REBOOKAPPOINTMENT.
  • After the appointment the supplier can UPLOADREPORT (which will complete the case).
    • It may be possible to REPLACEREPORT once a case has been completed.
    • In some scenarios it is possible to COMPLETE the case without uploading.

supplier operations flow

Warning

There is functionality that may be enabled to confirm that the appointment has taken place (or not).

This functionality has not yet been enabled.

Quote references

When a quote is created a unique reference will be created to identify it.

Instruction references

Internally our Instructions can have multiple cases. When you retrieve an Instruction you will find a CaseIndex property - this will usually be set to the value 1.

When you request or operate on an instruction it will return or process a single case.

INFO

Multiple case functionality is not yet in use.

We may use this in the future where an Instruction from an Introducer may contain more than one case or an additional case may be added at a later date.

Instructions have references used to identify them. We will provide our reference (the TMP reference) for it. If a quote has been referred it will have the same reference as the quote.

An introducer can also provide a reference when a quote is referred or a direct referral created.

A supplier can also provide a reference for a case allocated to them.

TMP references

For our reference

  • The TMPReference: usually in the format TMP123456 or IMH456789, you may also get a reference with a suffix -2 or -4 (e.g. TMP123456-2). This suffix represents the index of the case. This reference is unique. You should use this reference to retrieve or operate on a case.
  • The TMPCustomerReference: the value displayed to users (in our portal) to navigate to the instruction. This reference will be used in all emails. It will usually be the same as the TMPReference, with the TMPReference having a suffix when there is more than one case associated with it.

Introducer references

For the introducer, there are two references. These are only usable by the Introducer who created them.

  • IntroducerIntegrationReference: if provided, is used for integration and allows the introducer to retrieve a case using this reference (rather than our reference). It must be unique for each instruction. A typical use is an internal id for the instruction. It is displayed in our portal - but only to TMP users.
  • IntroducerCustomerReference: if provided, this is the reference that is displayed to the customer (in our portal). The Customer reference is usually the same as the Integration reference. It must be also unique for each instruction.

Either IntroducerIntegrationReference or IntroducerCustomerReference can be used by an introducer to retrieve an instruction. The value of IntroducerIntegrationReference will take precendence.

INFO

Introducer references are not yet in place for Quotes. This is work that will be completed in a future release.

INFO

Our advice is to either make both Introducer references (IntroducerIntegrationReference and IntroducerCustomerReference) the same value or ensure that the values do not conflict so as to ensure no confusion.

Supplier references

For the supplier, there are two references. These are only usable by the Supplier who created them.

  • SupplierIntegrationReference: if provided, is used for integration and allows the supplier to retrieve a case using this reference (rather than our reference). It must be unique for each instruction. A typical use is an internal id for the instruction. It is displayed in our portal - but only to TMP users.
  • SupplierCustomerReference: if provided, this is the reference that is displayed to the customer (in our portal). The Customer reference is usually the same as the Integration reference. It must be also unique for each instruction.

Either SupplierIntegrationReference or SupplierCustomerReference can be used by an introducer to retrieve an instruction. The value of SupplierIntegrationReference will take precendence.

INFO

Our advice is to either make both Supplier references (SupplierIntegrationReference and SupplierCustomerReference) the same value or ensure that the values do not conflict so as to ensure no confusion.

Milestones

Milestones represent key stages in the process. Associated with each milestone is

  • Has the milestone been completed - and when it was completed.
  • Who created the milestone (the firm name and sometimes the person at the firm).
  • Data for the milestone (see Milestones).

For Introducers they are:

  • ALLOCATED - When a supplier agrees to take on the work required.
  • APPOINTMENT - Details of the appointment.
  • COMPLETED - When a case completes. Is mutually exclusive with CANCELLED.
  • CANCELLED - When a case is cancelled. Is mutually exclusive with COMPLETED.

For Suppliers they are:

  • ASSIGNED - When a case is assigned to a supplier.
  • ACCEPTED - When a case is accepted by a supplier.
  • APPOINTMENT - Details of the appointment.
  • COMPLETED - When a case completes.

INFO

There is no CANCELLED milestone for suppliers. When a case is cancelled the supplier no longer has access to it.

A case can also be reassigned to another supplier - when this happens the supplier will no longer have access to it.

Reasons

Some methods require a reason why an operation took place, e.g. for a supplier to rebook an appointment.

You can use the Data service to retrieve the data that is applicable to particular operations. It is hoped that the reasons provided are sufficient to determine why an action has been taken. But, in most methods where a reason can be specified it is also for a reason not covered by the codes to be specified (in free text) - this is known as the "OtherReason". We do not share the free text provided (as it may contain information that cannot be shared, e.g. personal information).

For example, a reason for rebooking the appointment is that VENDORREQUEST (with description Vendor request) and if chosen the we can let the customer know this, which should reduce support calls to yourself and others.

The reasons specified are regularly correlated and will be used to try and provide a better service.

Primary customer

For some instructions the customers listed are not the customer who has initiated the instruction. In these cases we have a primary customer who is the actual customer. The customers listed are the clients of the primary customer.

Typically, this is where a Lender has initiated a survey and the customers listed are the clients of that lender (e.g. fixed fee remortgage).

The property PrimaryCustomer in the Instruction will have details of who the Primary customer is.

INFO

Suppliers should send Terms and Conditions of engagement to the primary customer when there is one. The CorrespondenceAddress property will be set to the address of the primary customer.

In most of these cases where we have a primary customer the end customers will not have access to the online instruction - the property in the Instruction IsVisibleToCustomers will be set to false.

Is visible to customers

The flag IsVisibleToCustomers is normally switched off where there is a primary customer. However, this flag may be switched off for other Instructions that don't have a primary customer explicitly set. This flag is not exclusive to Primary customers.

For example when we review a referral made directly to us rather than via our Quoting system. In this case we check the instruction for reasons that we cannot accept it (e.g. fee, coverage, conditions). This flag can also change to allow an instruction to be visible, e.g. after a referral has been checked.

On hold

A case can be marked as being On hold. When a case is marked as thus it does not prevent the case from progressing. This is simply an indication that this has requested or the case is not progressing.

We have decided to allow operations to continue (particularly to support integration) as operations may still take place without getting TMP involved.

Only TMP can put a case on hold or take it off hold.

Read only

A case can be marked by TMP as being Read only. This is generally used for historical cases.

No updates can be made to a read only case.

When a case is read only the otherInformation property returned for an Instruction and Instruction search will have a property READONLY set to true.

Configuration

It is possible to configure Introducers and Suppliers based on our requirements, their requirements, what the product requires and also our customers needs. This configuration is used throughout the services to determine functionality - primarily in validation, but also in what data is returned.

Below is a summary of the configuration at the Supplier and Introducer level - but this may be overridden at the product level.

Supplier configuration

DescriptionDefault value
AppointmentToBeBooked

Whether an appointment needs to be booked.

Yes
CollectAppointmentTime

Whether the timeslot for the appointment (i.e. morning, afternoon) should be collected.

Yes
ConfirmTermAndConditionsOnBookingAppointment

Terms and condititions must be confirmed as agreed on booking appointment.

Yes
AllowOptionForReportToBeEmailedToCustomer

Whether the option for a report to be emailed to the customer is valid.

Yes
RequireReportEvenIfEmailedToCustomer

Whilst a report can be emailed to the customer does it still needs to be uploaded.

Yes

Introducer configuration

DescriptionDefault value
CanViewReport

Whether the report can be downloaded on completion.

Yes

Codes and Data sets

Data sets can be retrieved using the Data service.

Examples are reasons for taking an action, timeslot codes.

The data returned may change. They do not change often, thus you may only want to update them on a regular interval, but not in conjunction with every call. Or for example, when you retrieve an instruction if a code is returned which you do not recognise you can then retrieve the data for that data set.

In addition to the data service there are codes that are used throughout the system. These are listed below. Some of these are available with the Data service.

Product codes

Use the Data Service with a setCode value as below to retrieve a list of products:

  • ALLPRODUCTS to get a list of all products.
  • ACTIVEPRODUCTS to get a list of active products.
  • MYPRODUCTS to get a list of your products.

The list of products available via the API may be different from those via the portal or the list below. The current list of products (as of February 2025) that can be used via the API are:

Product CodeProduct NameActive
ASBESTOSREPORTAsbestos ReportYes
DRAINREPORTCCTV Drain ReportYes
DAMPTIMBERREPORTDamp & Timber ReportYes
ELECTRICALREPORTElectrical ReportYes
GASCENTRALHEATINGREPORTGas ReportYes
HOMESERVICESREPORTHome Services ReportYes
JAPANESEKNOTWEEDREPORTJapanese Knotweed ReportYes
LEASEEXTENSIONVALUATIONLease Extension ValuationYes
RICSHTBVALUATIONRICS Help to Buy ValuationYes
RICSL2SURVEYVALUATIONRICS Home Survey - Level 2 (Survey & Valuation)Yes
RICSL2SURVEYRICS Home Survey - Level 2 (Survey only)Yes
RICSL3BUILDINGSURVEYRICS Home Survey - Level 3 (Building Survey)Yes
RICSINDEPENDENTVALUATIONRICS Independent ValuationYes
ROOFREPORTRoof ReportYes
STRUCTURALENGINEERSREPORTStructural Engineers ReportYes
TREEREPORTTree ReportYes
WALLTIEREPORTWall Tie ReportYes

INFO

The latest list products can be retrieved via the Data Service.

Attribute codes

We can apply an attribute to a case. This normally represents a feature of the product.

INFO

Attributes are new functionality added in Q1 2025.

The current list of products (as of February 2025) that can be used via the API are:

Attribute CodeDescription
HTBVALUATIONREWRITERepresents a Desktop valuation performed on a HTB Valuation.

Contact TMP if you feel that this is required. It is only available under specific circumstances and the costs are different.
RICSL3BUILDINGSURVEYRepresents a valuation added to a L3 survey.

It is not normally part of a L3 survey but can be added if required. Contact TMP to add this. There will normally be an additional fee.

INFO

The latest list attributes can be retrieved via the Data Service.

Property value tiers

These specify the tiers for the value of a property. They are used in creation of the details about the property and are part of the pricing calculation. This data is typically used in a dropdown or can be calculated from the purchase price/property value.

The Data service can be used to return this with the key DEFAULT-PROPERTYVALUETIERS.

CodeDescription
TO50K£0 to £50,000
50KTO100Kto £100,000
100KTO150Kto £150,000
150KTO200Kto £200,000
200KTO250Kto £250,000
250KTO300Kto £300,000
300KTO350Kto £350,000
350KTO400Kto £400,000
400KTO450Kto £450,000
450KTO500Kto £500,000
500KTO550Kto £550,000
550KTO600Kto £600,000
600KTO650Kto £650,000
650KTO700Kto £700,000
700KTO750Kto £750,000
750KTO800Kto £800,000
800KTO850Kto £850,000
850KTO900Kto £900,000
900KTO950Kto £950,000
950KTO1000to £1,000,000
1000KTO1500Kto £1,500,000
1500KTO2000Kto £2,000,000
2000KTO2500Kto £2,500,000
2500KTO3000Kto £3,000,000
3000KTO3500Kto £3,500,000
3500KTO4000Kto £4,000,000
4000KTO4500Kto £4,500,000
4500KTO5000Kto £5,000,000
OVER5000Kover £5,000,000

Property ages

These specify tiers for the age of a property. They are used to inform the supplier but can also be used to determine suitability of a product, e.g. if over 100 years old then a Level 2 survey may not be sufficient. This data is typically used in a dropdown or can be calculated from the year the house was built.

The Data service can be used to return this with the key DEFAULT-PROPERTYAGES.

CodeDescription
LESSTHANTENYEARSLess than 10 years
TENTOFIFTYYEARS10 to 50 years
FIFTYTOHUNDREDYEARS50 to 100 years
MORETHANONEHUNDREDYEARSMore than 100 years

Property types

These specify the type of property. They are used to inform the supplier. This data is typically used in a dropdown or can be calculated from the year the house was built.

The Data service can be used to return this with the key DEFAULT-PROPERTYTYPES.

CodeDescription
DETACHEDDetached
TERRACEDTerraced
FLATFlat
SEMISemi-detached
Last Updated: 11/4/25, 10:52 AM
Next
API concepts