This version is in beta - expect some breaking changes.

Property Business (MTD) API

Dates and amounts
Date Amount
Version and status
Available in Sandbox Yes
Sandbox base URL https://test-api.service.hmrc.gov.uk
Available in Production Yes
Production base URL https://api.service.hmrc.gov.uk

Overview

This API allows developers to:

  • list, retrieve create or amend an individual’s Foreign Property Income & Expenditure Period Summaries

  • Retrieve, create, amend or delete an individual’s Foreign Property Annual Summary

For information on how to connect to this API see the Income Tax MTD end-to-end service guide.

Versioning

When an API changes in a way that is backwards-incompatible, we increase the version number of the API. See our reference guide for more on versioning.

Errors

We use standard HTTP status codes to show whether an API request succeeded or not. They are usually in the range:

  • 200 to 299 if it succeeded, including code 202 if it was accepted by an API that needs to wait for further action
  • 400 to 499 if it failed because of a client error by your application
  • 500 to 599 if it failed because of an error on our server

Errors specific to each API are shown in the Endpoints section, under Response. See our reference guide for more on errors.

Single errors will be returned in the following format:

{
    "code": "FORMAT_FIELD_NAME",
    "message": "The provided FieldName is invalid"
}

Where possible, multiple errors will be returned with INVALID_REQUEST in the following format:

{
    "code": "INVALID_REQUEST",
    "message": "Invalid request",
    "errors": [
        {
            "code": "RULE_FIELD_NAME",
            "message": "The provided FieldName is not allowed"
        },
        {
            "code": "FORMAT_FIELD_NAME",
            "message": "The provided FieldName is invalid"
        }
    ]
}

Where it is possible for the same error to be returned multiple times, message will describe the expected format and paths will show the fields which are invalid.

Where arrays are submitted a number indicates the object in the array sequence, for example, /arrayName/1/fieldName.

An example with single error:

{
    "code": "FORMAT_STRING_NAME",
    "message": "The provided field is not valid",
    "paths": [ "/arrayName/0/fieldName" ]
}

An example with multiple errors:

{
    "code": "INVALID_REQUEST",
    "message": "Invalid request",
    "errors": [
        {
           "code": "FORMAT_VALUE",
           "message": "The field should be between 0 and 99999999999.99",
           "paths": [ "/objectName/fieldName1", "/arrayName/0/fieldName2" ]
        },
        {
           "code": "FORMAT_STRING_NAME",
           "message": "The provided field is not valid",
           "paths": [ "/arrayName/0/fieldName3", "/arrayName/1/fieldName3" ]
        }
    ]
}

Changelog

You can find the changelog in the income-tax-mtd-changelog GitHub wiki.

Support

Testing

You can use the sandbox environment to test this API. You can use the Create Test User API or it's frontend service to create test users.

It may not be possible to test all scenarios in the sandbox. You can test some scenarios by passing the Gov-Test-Scenario header. Documentation for each endpoint includes a Test data section, which explains the scenarios that you can simulate using the Gov-Test-Scenario header.

If you have a specific testing need that is not supported in the sandbox, contact our support team.

Some APIs may be marked [test only]. This means that they are not available for use in production and may change.

Skip to main content

Endpoints

Foreign Property Income & Expenditure Period Summary

Resources relating to an individual's foreign property income & expenditure period summary

Foreign Property Income & Expenditure Period Summary resources

/individuals/business/property/{nino}/{businessId}/period

List Foreign Property Income & Expenses Period Summaries
GET

This endpoint allows the developer to list the submission periods associated with their foreign property business. A National Insurance number and business ID are required.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the read:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

Query parameters

Query parameters table
Name Description
fromDate
string
optional

The start date of the search period. It must be in the form YYYY-MM-DD. If not provided will default to the current tax year start date.

For example: 2020-04-06

toDate
string
optional

The end date of the search period. It must be in the form YYYY-MM-DD. If not provided will default to the current tax year end date.

For example: 2021-04-05

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Content-Type
required

Specifies the format of the request body, which must be JSON.

For example: application/json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the read:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 200 (OK)

Example Response

{
  "submissions": [
    {
      "submissionId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
      "fromDate": "2020-06-22",
      "toDate": "2020-06-22",
      "links": [
        {
          "href": "/individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
          "method":"GET",
          "rel":"self"
        }
      ]
    }
  ],
  "links":[
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"GET",
      "rel":"self"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"POST",
      "rel":"create-property-period-summary"
    }
  ]
}

Example Response With Multiple Submissions

{
  "submissions": [
    {
      "submissionId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
      "fromDate": "2020-06-20",
      "toDate": "2020-06-22",
      "links": [
        {
          "href": "/individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
          "method":"GET",
          "rel":"self"
        }
      ]
    },
    {
      "submissionId": "f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
      "fromDate": "2020-06-22",
      "toDate": "2020-06-25",
      "links": [
        {
          "href": "/individuals/business/property/TC663795B/XAIS12345678910/period/f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c",
          "method":"GET",
          "rel":"self"
        }
      ]
    }
  ],
  "links":[
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"GET",
      "rel":"self"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"POST",
      "rel":"create-property-period-summary"
    }
  ]
}

Response table
Name Description
submissions
array
required

An array containing the submission periods associated with a property business.

submissionId
string
required

The unique identifier of the periodic submission.

Must conform to the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

For example: f2fb30e5-4ab6-4a29-b3c1-c7264259ff1c

fromDate
string
required

The first day that the income and expenses period summary covers. Must conform to the format: YYYY-MM-DD.

For example: 2020-01-01

toDate
string
required

The first day that the income and expenses period summary covers. Must conform to the format: YYYY-MM-DD.

For example: 2020-01-31

links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint

For example: /individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c

rel
string
required

A label for the endpoint, which describes how it is related to the current resource. The rel will be self where the action is retrieval of the same resource

Limited to the following possible values:

self
method
string
required

The HTTP method type for the endpoint

Limited to the following possible values:

GET
links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint

For example: /individuals/business/property/TC663795B/XAIS12345678910/period

rel
string
required

A label for the endpoint, which describes how it is related to the current resource. The rel will be self where the action is retrieval of the same resource

Limited to the following possible values:

self
create-property-period-summary
method
string
required

The HTTP method type for the endpoint

Limited to the following possible values:

GET
POST

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied From date field is not valid.

400 (Bad Request)

FORMAT_FROM_DATE

The format of the supplied To date field is not valid.

400 (Bad Request)

FORMAT_TO_DATE

The From date parameter is missing.

400 (Bad Request)

MISSING_FROM_DATE

The To date parameter is missing.

400 (Bad Request)

MISSING_TO_DATE

The To date is earlier than the From date.

400 (Bad Request)

RULE_TO_DATE_BEFORE_FROM_DATE

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate success response.

MULTIPLE

Simulate success response with multiple submissions.

NOT_FOUND

Simulates a scenario where no data is found.


Close Section
/individuals/business/property/{nino}/{businessId}/period

Create a Foreign Property Income & Expenditure Period Summary
POST

This endpoint allows the developer to submit the income and expenditure for a foreign property business that occurred between two dates. This submission is for either or both of Furnished Holiday Lettings (FHL) in the European Economic Area (EEA) and all other foreign Property submissions. A National Insurance number and business ID are required.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the write:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Content-Type
required

Specifies the format of the request body, which must be JSON.

For example: application/json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the write:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Request

Scenario: Full Expenditure request

{
  "fromDate": "2018-04-06",
  "toDate": "2019-04-06",
  "foreignFhlEea": {
    "income": {
      "rentAmount": 5000.99
    },
    "expenditure": {
      "premisesRunningCosts": 5000.99,
      "repairsAndMaintenance": 5000.99,
      "financialCosts": 5000.99,
      "professionalFees": 5000.99,
      "costsOfServices": 5000.99,
      "travelCosts": 5000.99,
      "other": 5000.99
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 5000.99
        },
        "foreignTaxCreditRelief": false,
        "premiumOfLeaseGrant": 5000.99,
        "otherPropertyIncome": 5000.99,
        "foreignTaxTakenOff": 5000.99,
        "specialWithholdingTaxOrUKTaxPaid": 5000.99
      },
      "expenditure": {
        "premisesRunningCosts": 5000.99,
        "repairsAndMaintenance": 5000.99,
        "financialCosts": 5000.99,
        "professionalFees": 5000.99,
        "costsOfServices": 5000.99,
        "travelCosts": 5000.99,
        "residentialFinancialCost": 5000.99,
        "broughtFwdResidentialFinancialCost": 5000.99,
        "other": 5000.99
      }
    }
  ]
}

Scenario: Consolidated Expenditure request

{
  "fromDate": "2018-04-06",
  "toDate": "2019-04-06",
  "foreignFhlEea": {
    "income": {
      "rentAmount": 5000.99
    },
    "expenditure": {
      "consolidatedExpenses": 5000.99
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 5000.99
        },
        "foreignTaxCreditRelief": false,
        "premiumOfLeaseGrant": 5000.99,
        "otherPropertyIncome": 5000.99,
        "foreignTaxTakenOff": 5000.99,
        "specialWithholdingTaxOrUKTaxPaid": 5000.99
      },
      "expenditure": {
        "residentialFinancialCost": 200.25,
        "broughtFwdResidentialFinancialCost": 100.25,
        "consolidatedExpenses": 100.25
      }
    }
  ]
}

Request table
Name Description
fromDate
string
required

The first day that the income and expenditure period summary covers. Must conform to the format YYYY-MM-DD.

For example: 2020-01-01

toDate
string
required

The last day that the income and expenditure period summary covers. Must conform to the format YYYY-MM-DD.

For example: 2020-01-31

foreignFhlEea
object
optional

Object holding the income and expenditure of the user's Furnished Holiday Lettings (FHL) in the European Economic Area (EEA) for the period.

income
object
required

Object holding the income details for the period.

rentAmount
number
required

Total rent and other income from property. The value must be between 0 and 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

Sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignProperty
array
optional

Array holding the income and expenses of the user's foreign property business - excluding Furnished Holiday Lettings (FHL) in the European Economic Area (EEA) - for the period.

countryCode
string
required

A three-letter code that represents a country name. This must be an ISO 3166-1 Alpha-3 value.

For example: FRA

income
object
required

Object holding the income details for the period.

rentIncome
object
required

An object containing the amount taken in rent and any tax deducted.

rentAmount
number
required

The total amount of rental income. The value must be between 0 and 99999999999.99.

For example: 5000.99

foreignTaxCreditRelief
boolean
required

A boolean indicating whether Foreign Tax Credit Relief (FTCR) has been claimed. The value must be true or false.

For example: true

premiumOfLeaseGrant
number
optional

Premiums received for the grant of a lease and other lump sums to possess a property. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

otherPropertyIncome
number
optional

Other income from property, such as rent charges and ground rents, income from letting others tip waste on your land, and income for the use of a caravan or houseboat at a fixed location. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignTaxTakenOff
number
optional

The total amount of foreign tax taken off your income. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

specialWithholdingTaxOrUKTaxPaid
number
optional

Tax withheld (in UK Pounds) on certain payments to UK residents or UK Tax taken off rental Income (applies to non-resident landlords only). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

residentialFinancialCost
number
optional

The residential financial cost that can be deductible from rental income (tax relief). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

broughtFwdResidentialFinancialCost
number
optional

Amount of relief brought forward for restricted residential financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

Sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 201 (Created)

Default Example

{
  "submissionId": "4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
  "links": [
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"GET",
      "rel":"self"
    }
  ]
}

Response table
Name Description
submissionId
string
required

An identifier for the income and expenditure period summary.

Must conform to the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

For example: 4557ecb5-fd32-48cc-81f5-e6acd1099f3c

links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint

For example: /Individuals/business/property/AA999999A/XAIS12345678910/period

rel
string
required

A label for the endpoint, which describes how it is related to the current resource. The rel will be self where the action is retrieval of the same resource

For example: self

method
string
required

The HTTP method type for the endpoint

For example: GET

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied From date field is not valid.

400 (Bad Request)

FORMAT_FROM_DATE

The format of the supplied To date field is not valid.

400 (Bad Request)

FORMAT_TO_DATE

The format of the supplied Country Code field is not valid.

400 (Bad Request)

FORMAT_COUNTRY_CODE

The format of one or more monetary fields is not valid.

400 (Bad Request)

FORMAT_VALUE

An empty or non-matching body was submitted.

400 (Bad Request)

RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED

Both Expenses and Consolidated Expenses can not be present at the same time.

400 (Bad Request)

RULE_BOTH_EXPENSES_SUPPLIED

The To date is earlier than the From date.

400 (Bad Request)

RULE_TO_DATE_BEFORE_FROM_DATE

Not a valid ISO 3166-1 alpha-3 country code.

400 (Bad Request)

RULE_COUNTRY_CODE

Period summary overlaps with any of the existing period summaries.

400 (Bad Request)

RULE_OVERLAPPING_PERIOD

Period summary is not within the accounting period.

400 (Bad Request)

RULE_MISALIGNED_PERIOD

Period summaries are not contiguous.

400 (Bad Request)

RULE_NOT_CONTIGUOUS_PERIOD

A summary has already been submitted for the period specified.

400 (Bad Request)

RULE_DUPLICATE_SUBMISSION

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate success response.

NOT_FOUND

Simulates the scenario where the given resource could not be found.

OVERLAPPING

Simulates the scenario where the period summary overlaps with an existing period summary.

MISALIGNED

Simulates the scenario where the period summary isn't within the accounting period.

NOT_CONTIGUOUS

Simulates the scenario where the period summaries are not contiguous.

DUPLICATE_SUBMISSION

Simulates the scenario where a summary has already been submitted for the specified period.


Close Section
/individuals/business/property/{nino}/{businessId}/period/{submissionId}

Retrieve a Foreign Property Income & Expenditure Period Summary
GET

This endpoint allows a developer to retrieve the income and expenditure for a foreign property business, that occurred between two dates using the submission ID. A National Insurance number, business ID and submission ID are required.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the read:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

submissionId
string
required

An identifier for the income and expenditure period summary.

Must conform to the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

For example: 4557ecb5-fd32-48cc-81f5-e6acd1099f3c

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the read:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 200 (OK)

Full Expenditure response

{
  "fromDate": "2019-04-06",
  "toDate": "2019-07-06",
  "foreignFhlEea": {
    "income": {
      "rentAmount": 200.22
    },
    "expenditure": {
      "premisesRunningCosts": 100.25,
      "repairsAndMaintenance": 100.25,
      "financialCosts": 100.25,
      "professionalFees": 100.25,
      "costsOfServices": 100.25,
      "travelCosts": 100.25,
      "other": 100.25
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 200.22
        },
        "foreignTaxCreditRelief": true,
        "premiumOfLeaseGrant": 100.25,
        "otherPropertyIncome": 100.25,
        "foreignTaxTakenOff": 44.21,
        "specialWithholdingTaxOrUKTaxPaid": 23.78
      },
      "expenditure": {
        "premisesRunningCosts": 100.25,
        "repairsAndMaintenance": 100.25,
        "financialCosts": 200.25,
        "professionalFees": 100.25,
        "costsOfServices": 100.25,
        "travelCosts": 100.25,
        "other": 100.25
      }
    }
  ],
  "links": [
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period/{submissionId}",
      "method": "PUT",
      "rel": "amend-property-period-summary"
    },
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period/{submissionId}",
      "method": "GET",
      "rel": "self"
    },
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period",
      "method": "GET",
      "rel": "list-property-period-summaries"
    }
  ]
}

Consolidated Expenditure response

{
  "fromDate": "2019-04-06",
  "toDate": "2019-07-06",
  "foreignFhlEea": {
    "income": {
      "rentAmount": 200.22
    },
    "expenditure": {
      "consolidatedExpenses": 100.25
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 200.22
        },
        "foreignTaxCreditRelief": true,
        "premiumOfLeaseGrant": 100.25,
        "otherPropertyIncome": 100.25,
        "foreignTaxTakenOff": 44.21,
        "specialWithholdingTaxOrUKTaxPaid": 23.78
      },
      "expenditure": {
        "residentialFinancialCost": 200.25,
        "broughtFwdResidentialFinancialCost": 100.25,
        "consolidatedExpenses": 100.25
      }
    }
  ],
  "links": [
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period/{submissionId}",
      "method": "PUT",
      "rel": "amend-property-period-summary"
    },
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period/{submissionId}",
      "method": "GET",
      "rel": "self"
    },
    {
      "href": "/individuals/business/property/{nino}/{businessId}/period",
      "method": "GET",
      "rel": "list-property-period-summaries"
    }
  ]
}

Response table
Name Description
fromDate
string
required

The first day that the income and expenses period summary covers. Must conform to the format YYYY-MM-DD

For example: 2020-01-01

toDate
string
required

The last day that the income and expenses period summary covers. Must conform to the format YYYY-MM-DD

For example: 2020-01-31

foreignFhlEea
object
optional

Object holding the income and expenses of the user's Furnished Holiday Letting (FHL) in the European Economic Area (EEA) for the period.

income
object
required

Object holding the income details for the period.

rentAmount
number
required

Total rents and other income from property. The value must be between 0 and 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

Sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignProperty
array
optional

Array holding the income and expenses of the user's foreign property business - excluding Furnished Holiday Lettings (FHL) in the European Economic Area (EEA) - for the period.

countryCode
string
required

A three-letter code that represents a country name. This must be an ISO 3166-1 Alpha-3 value.

For example: FRA

income
object
required

Object holding the income details for the period.

rentIncome
object
required

An object containing the amount taken in rent and any tax deducted.

rentAmount
number
required

The total amount of rental income. The value must be between 0 and 99999999999.99.

For example: 5000.99

foreignTaxCreditRelief
boolean
required

A boolean indicating whether Foreign Tax Credit Relief (FTCR) has been claimed.

For example: false

premiumOfLeaseGrant
number
optional

Premiums received for the grant of a lease and other lump sums to possess a property. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

otherPropertyIncome
number
optional

Other income from property, such as rent charges and ground rents, income from letting others tip waste on your land, and income for the use of a caravan or houseboat at a fixed location. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignTaxTakenOff
number
optional

The total amount of foreign tax taken off your income. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

specialWithholdingTaxOrUKTaxPaid
number
optional

Tax withheld (in UK Pounds) on certain payments to UK residents or UK Tax taken off rental Income (applies to non-resident landlords only). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

residentialFinancialCost
number
optional

The residential financial cost that can be deductible from rental income (tax relief). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

broughtFwdResidentialFinancialCost
number
optional

Amount of relief brought forward for restricted residential financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

Sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint.

For example: /individuals/business/property/CX897463D/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c

method
string
required

The HTTP method type for the endpoint.

Limited to the following possible values:

GET
PUT
rel
string
required

A label for the endpoint, which describes how it is related to the current resource The rel will be self where the action is retrieval of the same resource.

Limited to the following possible values:

self
amend-property-period-summary
list-property-period-summaries

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied Submission ID field is not valid.

400 (Bad Request)

FORMAT_SUBMISSION_ID

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate success response with expenditure.

CONSOLIDATED_EXPENDITURE

Simulate success response with consolidated expenditure.

NO_EXPENDITURE

Simulate success response with no expenditure.

NOT_FOUND

Simulate a scenario where no data is found.


Close Section
/individuals/business/property/{nino}/{businessId}/period/{submissionId}

Amend a Foreign Property Income & Expenditure Period Summary
PUT

This endpoint allows a developer to re-submit the income and expenditure for a foreign property business that occurred between two dates. This submission is for either or both of Furnished Holiday Letting (FHL) in the European Economic Area (EEA) and all other foreign property submissions. A National Insurance number, business ID and submission ID are required.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the write:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

submissionId
string
required

An identifier for the income and expenditure period summary.

Must conform to the regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$

For example: 4557ecb5-fd32-48cc-81f5-e6acd1099f3c

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Content-Type
required

Specifies the format of the request body, which must be JSON.

For example: application/json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the write:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Request

Scenario: Full Expenditure request

{
  "foreignFhlEea": {
    "income": {
      "rentAmount": 567.83
    },
    "expenditure": {
      "premisesRunningCosts": 4567.98,
      "repairsAndMaintenance": 98765.67,
      "financialCosts": 4566.95,
      "professionalFees": 23.65,
      "costsOfServices": 4567.77,
      "travelCosts": 456.77,
      "other": 567.67
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 34456.30
        },
        "foreignTaxCreditRelief": true,
        "premiumOfLeaseGrant": 2543.43,
        "otherPropertyIncome": 54325.30,
        "foreignTaxTakenOff": 6543.01,
        "specialWithholdingTaxOrUKTaxPaid": 643245.00
      },
      "expenditure": {
        "premisesRunningCosts": 5635.43,
        "repairsAndMaintenance": 3456.65,
        "financialCosts": 34532.21,
        "professionalFees": 32465.32,
        "costsOfServices": 2567.21,
        "travelCosts": 2345.76,
        "residentialFinancialCost": 21235.22,
        "broughtFwdResidentialFinancialCost": 12556.00,
        "other": 2425.11
      }
    }
  ]
}

Scenario: Consolidated Expenditure request

{
  "foreignFhlEea": {
    "income": {
      "rentAmount": 643.59
    },
    "expenditure": {
      "consolidatedExpenses": 456.98
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "income": {
        "rentIncome": {
          "rentAmount": 28972.56
        },
        "foreignTaxCreditRelief": true,
        "premiumOfLeaseGrant": 2823.44,
        "otherPropertyIncome": 67481.90,
        "foreignTaxTakenOff": 8552.46,
        "specialWithholdingTaxOrUKTaxPaid": 622873.00
      },
      "expenditure": {
        "residentialFinancialCost": 200.25,
        "broughtFwdResidentialFinancialCost": 100.25,
        "consolidatedExpenses": 352.66
      }
    }
  ]
}

Request table
Name Description
foreignFhlEea
object
optional

Object holding the income and expenditure of the user's Furnished Holiday Letting (FHL) in the European Economic Area for the period.

income
object
required

Object holding the income details for the period.

rentAmount
number
required

Total rent and other income from property. The value must be between 0 and 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

The sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignProperty
array
optional

Array holding the income and expenses of the user's foreign property business - excluding Furnished Holiday Lettings (FHL) in the European Economic Area (EEA) - for the period.

countryCode
string
required

A three-letter code that represents a country name. This must be an ISO 3166-1 Alpha-3 value.

Must conform to the regular expression ^[A-Z]{3}$

For example: FRA

income
object
required

Object holding the income details for the period.

rentIncome
object
required

An object containing the amount taken in rent and any tax deducted.

rentAmount
number
required

The total amount of rental income. The value must be between 0 and 99999999999.99.

For example: 5000.99

foreignTaxCreditRelief
boolean
required

A boolean indicating whether Foreign Tax Credit Relief (FTCR) has been claimed. The value must be true or false.

For example: false

premiumOfLeaseGrant
number
optional

Premiums received for the grant of a lease and other lump sums to possess a property. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

otherPropertyIncome
number
optional

Other income from property, such as rent charges and ground rents, income from letting others tip waste on your land, and income for the use of a caravan or houseboat at a fixed location. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

foreignTaxTakenOff
number
optional

The total amount of foreign tax taken off your income. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

specialWithholdingTaxOrUKTaxPaid
number
optional

Tax withheld (in UK Pounds) on certain payments to UK residents or UK Tax taken off rental Income (applies to non-resident landlords only). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

expenditure
object
optional

Object holding the expenditure for the period.

premisesRunningCosts
number
optional

Rent, rates, insurance, ground rents and other costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

repairsAndMaintenance
number
optional

Property repairs and maintenance. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

financialCosts
number
optional

Loan interest and other financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

professionalFees
number
optional

Legal, management and other professional fees. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

costsOfServices
number
optional

Cost of services provided, including wages. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

travelCosts
number
optional

Car, van and travel costs incurred in running a property business. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

residentialFinancialCost
number
optional

The residential financial cost that can be deductible from rental income (tax relief). The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

broughtFwdResidentialFinancialCost
number
optional

Amount of relief brought forward for restricted residential financial costs. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

other
number
optional

Other allowable property expenses. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

consolidatedExpenses
number
optional

Sum of all expenses for the specified period. The value must be greater than 0 and up to 99999999999.99.

For example: 5000.99

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 200 (OK)

Example Response

{
  "links":[
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
      "method":"GET",
      "rel":"self"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c",
      "method":"PUT",
      "rel":"amend-property-period-summary"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/period",
      "method":"GET",
      "rel":"list-property-period-summaries"
    }
  ]
}

Response table
Name Description
links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint

For example: /individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c

method
string
required

The HTTP method type for the endpoint

Limited to the following possible values:

GET
PUT
rel
string
required

A label for the endpoint, which describes how it is related to the current resource. The rel will be self where the action is retrieval of the same resource

Limited to the following possible values:

list-property-period-summaries
amend-property-period-summary
self

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied Submission ID field is not valid.

400 (Bad Request)

FORMAT_SUBMISSION_ID

The format of the supplied Country Code field is not valid.

400 (Bad Request)

FORMAT_COUNTRY_CODE

The format of one or more monetary fields is not valid.

400 (Bad Request)

FORMAT_VALUE

An empty or non-matching body was submitted.

400 (Bad Request)

RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED

Both Expenses and Consolidated Expenses can not be present at the same time.

400 (Bad Request)

RULE_BOTH_EXPENSES_SUPPLIED

Not a valid ISO 3166-1 alpha-3 country code.

400 (Bad Request)

RULE_COUNTRY_CODE

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate success response.

NOT_FOUND

Simulates the scenario where the given property could not be found.

INCOME_SOURCE_NOT_FOUND

Simulates the scenario where the given income source id could not be found.


Close Section

Foreign Property Annual Submission

Resources relating to an individual's foreign property Annual Submission

Foreign Property Annual Submission resources

/individuals/business/property/{nino}/{businessId}/annual/{taxYear}

Retrieve a Foreign Property Annual Submission
GET

This endpoint allows the developer to retrieve previously submitted adjustments and allowances for a foreign property business in a tax year. A National Insurance number, business ID and tax year must be provided.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the read:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

taxYear
string
required

The tax year to which the data applies.The start year and end year must not span two tax years. No gaps are allowed, for example, 2019-21 is not valid. The minimum tax year is 2021-22.

For example: 2021-22

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the read:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 200 (OK)

Example response

{
  "foreignFhlEea": {
    "adjustments": {
      "privateUseAdjustment": 100.25,
      "balancingCharge": 100.25,
      "periodOfGraceAdjustment": true
    },
    "allowances": {
      "annualInvestmentAllowance": 100.25,
      "otherCapitalAllowance": 100.25,
      "propertyAllowance": 100.25,
      "electricChargePointAllowance": 100.25
    }
  },
  "foreignProperty": [
    {
      "countryCode": "FRA",
      "adjustments": {
        "privateUseAdjustment": 100.25,
        "balancingCharge": 100.25
      },
      "allowances": {
        "annualInvestmentAllowance": 100.25,
        "costOfReplacingDomesticItems": 100.25,
        "zeroEmissionsGoodsVehicleAllowance": 100.25,
        "propertyAllowance": 100.25,
        "otherCapitalAllowance": 100.25,
        "electricChargePointAllowance": 100.25
      }
    }
  ],
  "links": [
    {
      "href": "/individuals/business/property/CX897463D/XAIS12345678910/annual/2021-22",
      "method": "PUT",
      "rel": "amend-property-annual-submission"
    },
    {
      "href": "/individuals/business/property/CX897463D/XAIS12345678910/annual/2021-22",
      "method": "GET",
      "rel": "self"
    },
    {
      "href": "/individuals/business/property/CX897463D/XAIS12345678910/annual/2021-22",
      "method": "DELETE",
      "rel": "delete-property-annual-submission"
    }
  ]
}

Response table
Name Description
foreignFhlEea
object
optional

Object holding the income and expenditure of the user's Furnished Holiday Lets in the European Economic Area for the period.

adjustments
object
optional

Object holding the adjustments for the tax year.

privateUseAdjustment
number
optional

Any expenses incurred not solely for the property business. The value must be between 0 and 99999999999.99.

For example: 5000.99

balancingCharge
number
optional

The difference between current value (resale price) plus the capital allowance claimed less the original cost, for an item that was sold, given away or is no longer in use. The value must be between 0 and 99999999999.99.

For example: 5000.99

periodOfGraceAdjustment
boolean
optional

Identifies a property which didn't qualify for FHL this year but qualified the previous year.

For example: true

allowances
object
optional

Object holding the allowances for the tax year.

annualInvestmentAllowance
number
optional

A claim on equipment bought (except cars) up to maximum annual amount. The value must be between 0 and 99999999999.99.

For example: 5000.99

otherCapitalAllowance
number
optional

All other capital allowances. The value must be between 0 and 99999999999.99.

For example: 5000.99

propertyAllowance
number
optional

The limited amount Tax exemption for individuals with income from land or property. The value must be between 0 and 99999999999.99.

For example: 5000.99

electricChargePointAllowance
number
optional

Expenditure incurred on electric charge-point equipment. The value must be between 0 and 99999999999.99.

For example: 5000.99

foreignProperty
array
optional

Array holding the income and expenses of the user's Foreign property business - excluding Furnished Holiday Lets in the European Economic Area - for the period.

countryCode
string
required

Codes for the representation of names of countries. The value must be ISO 3166-1 alpha-3

Must conform to the regular expression ^[A-Z]{3}$

For example: FRA

adjustments
object
optional

Object holding the adjustments for the tax year.

privateUseAdjustment
number
optional

Any expenses incurred not solely for the property business. The value must be between 0 and 99999999999.99.

For example: 5000.99

balancingCharge
number
optional

The difference between current value (resale price) plus the capital allowance claimed less the original cost, for an item that was sold, given away or is no longer in use. The value must be between 0 and 99999999999.99.

For example: 5000.99

allowances
object
optional

Object holding the allowances for the tax year

annualInvestmentAllowance
number
optional

Can be claimed on equipment bought (except cars) up to maximum annual amount. The value must be between 0 and 99999999999.99.

For example: 5000.99

costOfReplacingDomesticItems
number
optional

Cost of Replacing Domestic Items - formerly Wear and Tear allowance. The value must be between 0 and 99999999999.99.

For example: 5000.99

zeroEmissionsGoodsVehicleAllowance
number
optional

Zero Emissions Goods Vehicle Allowance. The value must be between 0 and 99999999999.99.

For example: 5000.99

propertyAllowance
number
optional

The limited amount Tax exemption for individuals with income from land or property. The value must be between 0 and 99999999999.99.

For example: 5000.99

otherCapitalAllowance
number
optional

All other capital allowances. The value must be between 0 and 99999999999.99.

For example: 5000.99

electricChargePointAllowance
number
optional

Expenditure incurred on electric charge-point equipment. The value must be between 0 and 99999999999.99.

For example: 5000.99

links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint.

For example: /individuals/business/property/CX897463D/XAIS12345678910/annual/2021-22

method
string
required

The HTTP method type for the endpoint.

Limited to the following possible values:

GET
PUT
DELETE
rel
string
required

A label for the endpoint, which describes how it is related to the current resource The rel will be self where the action is retrieval of the same resource.

Limited to the following possible values:

self
amend-property-annual-submission
delete-property-annual-submission

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied tax year field is not valid.

400 (Bad Request)

FORMAT_TAX_YEAR

The specified tax year is not supported. That is, the tax year specified is before the minimum tax year value.

400 (Bad Request)

RULE_TAX_YEAR_NOT_SUPPORTED

Tax year range invalid. A tax year range of one year is required.

400 (Bad Request)

RULE_TAX_YEAR_RANGE_INVALID

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate a scenario with a single item in the Foreign Property array.

MULTIPLE_FOREIGN_PROPERTY

Simulate a scenario with multiple items in the Foreign Property array.

NOT_FOUND

Simulate a scenario where no data is found.


Close Section
/individuals/business/property/{nino}/{businessId}/annual/{taxYear}

Create or Amend a Foreign Property Annual Summary
PUT

This endpoint allows the developer to submit the adjustments and allowances for a foreign property business in a tax year. This submission is for either or both of Furnished Holiday Lets in the European Economic Area and all other foreign Property submissions. A National Insurance number, business ID and tax year must be provided.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the write:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

taxYear
string
required

The tax year to which the data applies.The start year and end year must not span two tax years. No gaps are allowed, for example, 2019-21 is not valid. The minimum tax year is 2021-22.

For example: 2021-22

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Content-Type
required

Specifies the format of the request body, which must be JSON.

For example: application/json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the write:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Request

Scenario: Example Request

{
  "foreignFhlEea": {
      "adjustments": {
        "privateUseAdjustment":100.25,
        "balancingCharge":100.25,
        "periodOfGraceAdjustment":true
      },
      "allowances": {
        "annualInvestmentAllowance":100.25,
        "otherCapitalAllowance":100.25,
        "propertyAllowance":100.25,
        "electricChargePointAllowance":100.25
      }
    },
  "foreignProperty": [
    {
      "countryCode":"FRA",
      "adjustments": {
        "privateUseAdjustment":100.25,
        "balancingCharge":100.25
      },
      "allowances": {
        "annualInvestmentAllowance":100.25,
        "costOfReplacingDomesticItems":100.25,
        "zeroEmissionsGoodsVehicleAllowance":100.25,
        "propertyAllowance":100.25,
        "otherCapitalAllowance":100.25,
        "electricChargePointAllowance":100.25
      }
    }
  ]
}

Request table
Name Description
foreignFhlEea
object
optional

Object holding the income and expenditure of the user's Furnished Holiday Lets in the European Economic Area for the period.

adjustments
object
optional

Object holding the adjustments for the tax year.

privateUseAdjustment
number
optional

Any expenses incurred not solely for the property business. The value must be between 0 and 99999999999.99.

For example: 5000.99

balancingCharge
number
optional

The difference between current value (resale price) plus the capital allowance claimed less the original cost, for an item that was sold, given away or is no longer in use. The value must be between 0 and 99999999999.99.

For example: 5000.99

periodOfGraceAdjustment
boolean
optional

Identifies a property which didn't qualify for FHL this year but qualified the year previous.

For example: true

allowances
object
optional

Object holding the allowances for the tax year.

annualInvestmentAllowance
number
optional

Can be claimed on equipment bought (except cars) up to maximum annual amount. The value must be between 0 and 99999999999.99.

For example: 5000.99

otherCapitalAllowance
number
optional

All other capital allowances. The value must be between 0 and 99999999999.99.

For example: 5000.99

propertyAllowance
number
optional

The limited amount tax exemption for individuals with income from land or property. The value must be between 0 and 99999999999.99.

For example: 5000.99

electricChargePointAllowance
number
optional

Expenditure incurred on electric charge-point equipment. The value must be between 0 and 99999999999.99.

For example: 5000.99

foreignProperty
array
optional

Array holding the income and expenses of the user's Foreign property business - excluding Furnished Holiday Lets in the European Economic Area - for the period.

countryCode
string
required

A three-letter code that represents a country name. The value must be a ISO 3166-1 alpha-3 code.

Must conform to the regular expression ^[A-Z]{3}$

For example: FRA

adjustments
object
optional

Object holding the adjustments for the tax year.

privateUseAdjustment
number
optional

Any expenses incurred not solely for the property business. The value must be between 0 and 99999999999.99.

For example: 5000.99

balancingCharge
number
optional

The difference between current value (resale price) plus the capital allowance claimed less the original cost, for an item that was sold, given away or is no longer in use. The value must be between 0 and 99999999999.99.

For example: 5000.99

allowances
object
optional

Object holding the allowances for the tax year.

annualInvestmentAllowance
number
optional

Can be claimed on equipment bought (except cars) up to maximum annual amount. The value must be between 0 and 99999999999.99.

For example: 5000.99

costOfReplacingDomesticItems
number
optional

Cost of Replacing Domestic Items - formerly Wear and Tear allowance. The value must be between 0 and 99999999999.99.

For example: 5000.99

zeroEmissionsGoodsVehicleAllowance
number
optional

Zero Emissions Goods Vehicle Allowance. The value must be between 0 and 99999999999.99.

For example: 5000.99

propertyAllowance
number
optional

The limited amount tax exemption for individuals with income from land or property. The value must be between 0 and 99999999999.99.

For example: 5000.99

otherCapitalAllowance
number
optional

All other capital allowances. The value must be between 0 and 99999999999.99.

For example: 5000.99

electricChargePointAllowance
number
optional

Expenditure incurred on electric charge-point equipment. The value must be between 0 and 99999999999.99.

For example: 5000.99

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 200 (OK)

Example Response

{
  "links":[
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/annual/2021-22",
      "method":"GET",
      "rel":"self"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/annual/2021-22",
      "method":"PUT",
      "rel":"amend-property-annual-summary"
    },
    {
      "href":"/individuals/business/property/TC663795B/XAIS12345678910/annual/2021-22",
      "method":"DELETE",
      "rel":"delete-property-annual-summary"
    }
  ]
}

Response table
Name Description
links
array
optional

A list of endpoint links that indicate possible actions related to the current resource.

href
string
required

The relative url of the endpoint

For example: /individuals/business/property/TC663795B/XAIS12345678910/period/4557ecb5-fd32-48cc-81f5-e6acd1099f3c

method
string
required

The HTTP method type for the endpoint.

Limited to the following possible values:

GET
PUT
DELETE
rel
string
required

A label for the endpoint, which describes how it is related to the current resource. The rel will be self where the action is retrieval of the same resource.

Limited to the following possible values:

amend-property-annual-summary
delete-property-annual-summary
self

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied tax year field is not valid.

400 (Bad Request)

FORMAT_TAX_YEAR

The format of the supplied Country Code field is not valid.

400 (Bad Request)

FORMAT_COUNTRY_CODE

The format of one or more monetary fields is not valid.

400 (Bad Request)

FORMAT_VALUE

An empty or non-matching body was submitted.

400 (Bad Request)

RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED

The specified tax year is not supported. That is, the tax year specified is before the minimum tax year value.

400 (Bad Request)

RULE_TAX_YEAR_NOT_SUPPORTED

Tax year range invalid. A tax year range of one year is required.

400 (Bad Request)

RULE_TAX_YEAR_RANGE_INVALID

Not a valid ISO 3166-1 alpha-3 country code.

400 (Bad Request)

RULE_COUNTRY_CODE

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulate success response.


Close Section

Delete a Foreign Property Annual Summary
DELETE

This endpoint allows the developer to delete the adjustments and allowances for a foreign property business in a tax year. A National Insurance number, business ID and tax year must be provided.

Authorisation

This endpoint is user-restricted and requires an Authorization header containing an OAuth 2.0 Bearer Token with the write:self-assessment scope.

Path parameters

Path parameters table
Name Description
nino
string
required

National Insurance number, in the format AA999999A.

For example: TC663795B

businessId
string
required

An identifier for the business, unique to the customer.

Must conform to the regular expression ^X[A-Z0-9]{1}IS[0-9]{11}$

For example: XAIS12345678910

taxYear
string
required

The tax year to which the data applies.The start year and end year must not span two tax years. No gaps are allowed, for example, 2019-21 is not valid. The minimum tax year is 2021-22.

For example: 2021-22

Request headers

Request headers Table
Name Description
Accept
required

Specifies the response format and the version of the API to be used.

For example: application/vnd.hmrc.1.0+json
Gov-Test-Scenario
optional

Only in sandbox environment. See Test Data table for all header values.

For example: -
Authorization
required
An OAuth 2.0 Bearer Token with the write:self-assessment scope.

For example: Bearer bb7fed3fe10dd235a2ccda3d50fb

See also fraud prevention.

Response headers

Response headers Table
Name Description
X-CorrelationId
required

Unique ID for operation tracking
String, 36 characters.

For example: c75f40a6-a3df-4429-a697-471eeec46435

See also fraud prevention.

Response

HTTP status: 204 (No Content)

Error scenarios

Error scenarios table
Scenario HTTP status Code

The format of the supplied NINO field is not valid.

400 (Bad Request)

FORMAT_NINO

The format of the supplied Business ID field is not valid.

400 (Bad Request)

FORMAT_BUSINESS_ID

The format of the supplied tax year field is not valid.

400 (Bad Request)

FORMAT_TAX_YEAR

The specified tax year is not supported. That is, the tax year specified is before the minimum tax year value.

400 (Bad Request)

RULE_TAX_YEAR_NOT_SUPPORTED

Tax year range invalid. A tax year range of one year is required.

400 (Bad Request)

RULE_TAX_YEAR_RANGE_INVALID

The client or agent is not authorised. This is because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorised the agent to act on their behalf.

403 (Forbidden)

CLIENT_OR_AGENT_NOT_AUTHORISED

The matching resource is not found.

404 (Not Found)

MATCHING_RESOURCE_NOT_FOUND

For error scenarios that are common across all APIs, and for error formats, see our reference guide.

Test data

Scenario simulations using Gov-Test-Scenario headers is only available in the sandbox environment.

Header Value (Gov-Test-Scenario) Scenario

N/A - DEFAULT

Simulates a success response.

NOT_FOUND

Simulates the scenario where the given property could not be found.


Close Section

Skip to main content