Individuals Reliefs (MTD) API
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 retrieve, create, amend or delete relief investments from:
- VCT subscriptions
- EIS subscriptions
- community investments
- seed enterprise investments
- social enterprise investments
For information on how to connect to this API see the Income Tax MTD end-to-end service guide
Send fraud prevention data
HMRC monitors transactions to help protect your customers' confidential data from criminals and fraudsters.
Check the data you need to send. You can also use the Test API during initial development and as part of your quality assurance checks.
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
- Raise non-technical or platform-related issues with the Software Development Support Team (SDST).
- Raise technical issues on the income-tax-mtd-changelog GitHub page.
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.
Endpoints
Relief Investments
Resources relating to an individual's relief investments
Relief Investments resources
/individuals/reliefs/investment/{nino}/{taxYear}
Retrieve Relief Investments
GET
This endpoint enables you to retrieve relief investments from: VCT subscriptions, EIS subscriptions, Community Investments, Seed Enterprise Investments and Social Enterprise Investments. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the read:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "submittedOn": "2019-04-04T01:01:01Z", "vctSubscription":[ { "uniqueInvestmentRef": "VCTREF", "name": "VCT Fund X", "dateOfInvestment": "2018-04-16", "amountInvested": 23312.00, "reliefClaimed": 1334.00 } ], "eisSubscription":[ { "uniqueInvestmentRef": "XTAL", "name": "EIS Fund X", "knowledgeIntensive": true, "dateOfInvestment": "2020-12-12", "amountInvested": 23312.00, "reliefClaimed": 43432.00 } ], "communityInvestment": [ { "uniqueInvestmentRef": "CIREF", "name": "CI X", "dateOfInvestment": "2020-12-12", "amountInvested": 6442.00, "reliefClaimed": 2344.00 } ], "seedEnterpriseInvestment": [ { "uniqueInvestmentRef": "1234121A", "companyName": "Company Inc", "dateOfInvestment": "2020-12-12", "amountInvested": 123123.22, "reliefClaimed": 3432.00 } ], "socialEnterpriseInvestment": [ { "uniqueInvestmentRef": "1234121A", "socialEnterpriseName": "SE Inc", "dateOfInvestment": "2020-12-12", "amountInvested": 123123.22, "reliefClaimed": 3432.00 } ], "links":[ { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"PUT", "rel":"create-and-amend-reliefs-investments" }, { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"DELETE", "rel":"delete-reliefs-investments" } ] }
Name | Description |
---|---|
submittedOn
string
required
|
The date the investment relief was added. It must be provided in the format YYYY-MM-DDThh:mm:ssZ
For example: |
vctSubscription
array
optional
|
Financial details about VCT subscriptions income |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
eisSubscription
array
optional
|
Financial details about EIS subscriptions income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund
Must conform to the regular expression
For example: |
knowledgeIntensive
boolean
required
|
Companies that are carrying out research, development or innovation. The value must be true or false
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
communityInvestment
array
optional
|
Financial details about community investment income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
seedEnterpriseInvestment
array
optional
|
Financial details about Seed Investment Income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
companyName
string
optional
|
The name of the company holding the investment.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
socialEnterpriseInvestment
array
optional
|
Financial details about social enterprise investment income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
socialEnterpriseName
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
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: |
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
create-and-amend-reliefs-investments
delete-reliefs-investments
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
/individuals/reliefs/investment/{nino}/{taxYear}
Create and Amend Relief Investments
PUT
This endpoint enables you to create and amend relief investments from: VCT subscriptions, EIS subscriptions, Community Investments, Seed Enterprise Investments and Social Enterprise Investments. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Request
Scenario: Default Example
{ "vctSubscription":[ { "uniqueInvestmentRef": "VCTREF", "name": "VCT Fund X", "dateOfInvestment": "2018-04-16", "amountInvested": 23312.00, "reliefClaimed": 1334.00 } ], "eisSubscription":[ { "uniqueInvestmentRef": "XTAL", "name": "EIS Fund X", "knowledgeIntensive": true, "dateOfInvestment": "2020-12-12", "amountInvested": 23312.00, "reliefClaimed": 43432.00 } ], "communityInvestment": [ { "uniqueInvestmentRef": "CIREF", "name": "CI X", "dateOfInvestment": "2020-12-12", "amountInvested": 6442.00, "reliefClaimed": 2344.00 } ], "seedEnterpriseInvestment": [ { "uniqueInvestmentRef": "1234121A", "companyName": "Company Inc", "dateOfInvestment": "2020-12-12", "amountInvested": 123123.22, "reliefClaimed": 3432.00 } ], "socialEnterpriseInvestment": [ { "uniqueInvestmentRef": "1234121A", "socialEnterpriseName": "SE Inc", "dateOfInvestment": "2020-12-12", "amountInvested": 123123.22, "reliefClaimed": 3432.00 } ] }
Name | Description |
---|---|
vctSubscription
array
optional
|
Financial details about VCT subscriptions income |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
eisSubscription
array
optional
|
Financial details about EIS subscriptions income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund
Must conform to the regular expression
For example: |
knowledgeIntensive
boolean
required
|
A boolean indicating whether companies are carrying out research, development or innovation.
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
communityInvestment
array
optional
|
Financial details about community investment income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
name
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
seedEnterpriseInvestment
array
optional
|
Financial details about seed investment income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
companyName
string
optional
|
The name of the company holding the investment.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
socialEnterpriseInvestment
array
optional
|
Financial details about social enterprise investment income. |
uniqueInvestmentRef
string
required
|
The Unique Investment Reference (UIR) or the name of the authorising tax office as shown on the certificate.
Must conform to the regular expression
For example: |
socialEnterpriseName
string
optional
|
The name of the investment or fund.
Must conform to the regular expression
For example: |
dateOfInvestment
string
optional
|
The date of the investment. Date in the format YYYY-MM-DD.
For example: |
amountInvested
number
optional
|
The total amount invested. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "links":[ { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"PUT", "rel":"create-and-amend-reliefs-investments" }, { "href":"/individuals/reliefs/investment/TC663795B/2019-20", "method":"DELETE", "rel":"delete-reliefs-investments" } ] }
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: |
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
create-and-amend-reliefs-investments
delete-reliefs-investments
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 |
One or more values have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_VALUE |
An empty or non-matching body was submitted. |
400 (Bad Request) |
RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED |
The format of the investment date is invalid. |
400 (Bad Request) |
FORMAT_DATE_OF_INVESTMENT |
The format of unique investment reference is invalid. |
400 (Bad Request) |
FORMAT_UNIQUE_INVESTMENT_REFERENCE |
The format of name is invalid. |
400 (Bad Request) |
FORMAT_NAME |
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
/individuals/reliefs/investment/{nino}/{taxYear}
Delete Relief Investments
DELETE
This endpoint enables you to delete relief investments from: VCT subscriptions, EIS subscriptions, Community Investments, Seed Enterprise Investments and Social Enterprise Investments. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 204 (No Content)
Response headers
Name | Description |
---|---|
X-correlationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
Other Reliefs
Resources relating to an individual's other reliefs
Other Reliefs resources
/individuals/reliefs/other/{nino}/{taxYear}
Retrieve Other Reliefs
GET
This endpoint enables you to retrieve details of other reliefs that have been previously submitted. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the read:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "submittedOn": "2019-04-04T01:01:01Z", "nonDeductibleLoanInterest": { "customerReference": "myref", "reliefClaimed": 763.00 }, "payrollGiving": { "customerReference": "myref", "reliefClaimed": 154.00 }, "qualifyingDistributionRedemptionOfSharesAndSecurities": { "customerReference": "myref", "amount": 222.22 }, "maintenancePayments": [ { "customerReference": "myref", "exSpouseName" : "Hilda", "exSpouseDateOfBirth": "2000-01-01", "amount": 222.22 } ], "postCessationTradeReliefAndCertainOtherLosses": [ { "customerReference": "myref", "businessName": "ACME Inc", "dateBusinessCeased": "2019-08-10", "natureOfTrade": "Widgets Manufacturer", "incomeSource": "AB12412/A12", "amount": 222.22 } ], "annualPaymentsMade": { "customerReference": "myref", "reliefClaimed": 763.00 }, "qualifyingLoanInterestPayments": [ { "customerReference": "myref", "lenderName": "Maurice", "reliefClaimed": 763.00 } ], "links":[ { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"PUT", "rel":"create-and-amend-reliefs-other" }, { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"DELETE", "rel":"delete-reliefs-other" } ] }
Name | Description |
---|---|
submittedOn
string
required
|
The date the other reliefs was added. It must be provided in the format YYYY-MM-DDThh:mm:ssZ
For example: |
nonDeductibleLoanInterest
object
optional
|
Details of non-deductible loan interest claimed |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
payrollGiving
object
optional
|
Details of payroll giving relief claimed. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
qualifyingDistributionRedemptionOfSharesAndSecurities
object
optional
|
Details of qualifying shares and securities distributed that qualify for relief. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
amount
number
required
|
The amount of relief claimed on qualifying shares and securities.
For example: |
maintenancePayments
array
optional
|
Details of maintenance payments made to an ex-spouse. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
For example: |
exSpouseName
string
optional
|
The name of the ex-spouse who receives the payment. |
exSpouseDateOfBirth
string
optional
|
The date ex-spouse was born. Date in the format: YYYY-MM-DD
For example: |
amount
number
required
|
The amount paid to a former spouse or civil partner who was born before 6 April 1935. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
postCessationTradeReliefAndCertainOtherLosses
array
optional
|
Details of trade reliefs and other losses post cessation of a business. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
businessName
string
optional
|
The name of the business that has ceased trading. |
dateBusinessCeased
string
optional
|
The date the business ceased trading. Date in the format: YYYY-MM-DD
For example: |
natureOfTrade
string
optional
|
The trading nature of the business.
Must conform to the regular expression |
incomeSource
string
optional
|
Income source identifier or UTR (Unique Taxpayer Reference). |
amount
number
required
|
The amount which can be deducted from chargeable gains. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
annualPaymentsMade
object
optional
|
Details of annual payments made. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
qualifyingLoanInterestPayments
array
optional
|
Details of qualifying loan interest payments made. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
lenderName
string
optional
|
The name of the individual, public group, private group, or financial institution that made the funds available. |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
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: |
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
create-and-amend-reliefs-other
delete-reliefs-other
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
/individuals/reliefs/other/{nino}/{taxYear}
Create and Amend Other Reliefs
PUT
This endpoint enables you to create and amend reliefs other than investments. This includes: loan interest, payroll giving, shares and securities redemptions, maintenance payments, post cessation reliefs, annual payments and qualifying loan interest payments. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Request
Scenario: Default Example
{ "nonDeductibleLoanInterest": { "customerReference": "myref", "reliefClaimed": 763.00 }, "payrollGiving": { "customerReference": "myref", "reliefClaimed": 154.00 }, "qualifyingDistributionRedemptionOfSharesAndSecurities": { "customerReference": "myref", "amount": 222.22 }, "maintenancePayments": [ { "customerReference": "myref", "exSpouseName" : "Hilda", "exSpouseDateOfBirth": "2000-01-01", "amount": 222.22 } ], "postCessationTradeReliefAndCertainOtherLosses": [ { "customerReference": "myref", "businessName": "ACME Inc", "dateBusinessCeased": "2019-08-10", "natureOfTrade": "Widgets Manufacturer", "incomeSource": "AB12412/A12", "amount": 222.22 } ], "annualPaymentsMade": { "customerReference": "myref", "reliefClaimed": 763.00 }, "qualifyingLoanInterestPayments": [ { "customerReference": "myref", "lenderName": "Maurice", "reliefClaimed": 763.00 } ] }
Name | Description |
---|---|
nonDeductibleLoanInterest
object
optional
|
Details of non-deductible loan interest claimed |
customerReference
string
optional
|
A reference or friendly name used by the customer.
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
payrollGiving
object
optional
|
Details of payroll giving relief claimed. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
qualifyingDistributionRedemptionOfSharesAndSecurities
object
optional
|
Details of qualifying shares and securities distributed that qualify for relief. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
amount
number
required
|
The amount of relief claimed on qualifying shares and securities.
For example: |
maintenancePayments
array
optional
|
Details of maintenance payments made to an ex-spouse. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
exSpouseName
string
optional
|
The name of the ex-spouse who receives the payment. |
exSpouseDateOfBirth
string
optional
|
The date the ex-spouse was born.
For example: |
amount
number
required
|
The amount paid to a former spouse or civil partner who was born before 6 April 1935. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
postCessationTradeReliefAndCertainOtherLosses
array
optional
|
Details of trade reliefs and other losses post cessation of a business. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
businessName
string
optional
|
The name of the business that has ceased trading. |
dateBusinessCeased
string
optional
|
The date the business ceased trading. Date in the format: YYYY-MM-DD
For example: |
natureOfTrade
string
optional
|
The trading nature of the business. |
incomeSource
string
optional
|
Income source identifier or UTR (Unique Taxpayer Reference). |
amount
number
required
|
The amount which can be deducted from chargeable gains. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
annualPaymentsMade
object
optional
|
Details of annual payments made. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
qualifyingLoanInterestPayments
array
optional
|
Details of qualifying loan interest payments made. |
customerReference
string
optional
|
A reference or friendly name used by the customer.
Must conform to the regular expression
For example: |
lenderName
string
optional
|
The name of the individual, public group, private group, or financial institution that made the funds available. |
reliefClaimed
number
required
|
The amount of relief being claimed for the tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "links":[ { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"PUT", "rel":"create-and-amend-reliefs-other" }, { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/other/TC663795B/2017-18", "method":"DELETE", "rel":"delete-reliefs-other" } ] }
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: |
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
create-and-amend-reliefs-other
delete-reliefs-other
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The format of exSpouseName is not valid. |
400 (Bad Request) |
FORMAT_NAME_EX_SPOUSE |
The format of businessName is not valid. |
400 (Bad Request) |
FORMAT_NAME_BUSINESS |
The format of natureOfTrade is not valid. |
400 (Bad Request) |
FORMAT_NATURE_OF_TRADE |
The format of incomeSource is not valid. |
400 (Bad Request) |
FORMAT_INCOME_SOURCE |
The format of lenderName is not valid. |
400 (Bad Request) |
FORMAT_LENDER_NAME |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 |
One or more values have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_VALUE |
An empty or non-matching body was submitted. |
400 (Bad Request) |
RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED |
The supplied date format is invalid. |
400 (Bad Request) |
FORMAT_DATE |
The format of customerReference is not valid. |
400 (Bad Request) |
FORMAT_CUSTOMER_REF |
The submission cannot be completed due to validation failures. |
400 (Bad Request) |
RULE_SUBMISSION_FAILED |
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. |
SUBMISSION_FAILED |
Simulates the scenario where a submission has failed. |
Close Section
/individuals/reliefs/other/{nino}/{taxYear}
Delete Other Reliefs
DELETE
This endpoint enables you to delete reliefs that have been previously submitted. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 204 (No Content)
Response headers
Name | Description |
---|---|
X-correlationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
Foreign Reliefs
Resources relating to an individual's foreign reliefs
Foreign Reliefs resources
/individuals/reliefs/foreign/{nino}/{taxYear}
Retrieve Foreign Reliefs
GET
This endpoint enables you to retrieve foreign reliefs. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the read:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "submittedOn": "2019-04-04T01:01:01Z", "foreignTaxCreditRelief": { "amount": 5000.99 }, "foreignIncomeTaxCreditRelief": [ { "countryCode": "FRA", "foreignTaxPaid": 4567.69, "taxableAmount": 2853.13, "employmentLumpSum": false } ], "foreignTaxForFtcrNotClaimed": { "amount": 3456.97 }, "links": [ { "href": "/individuals/reliefs/foreign/TC663795B/2017-18", "method": "PUT", "rel": "create-and-amend-reliefs-foreign" }, { "href": "/individuals/reliefs/foreign/TC663795B/2017-18", "method": "GET", "rel": "self" }, { "href": "/individuals/reliefs/foreign/TC663795B/2017-18", "method": "DELETE", "rel": "delete-reliefs-foreign" } ] }
Name | Description |
---|---|
submittedOn
string
required
|
The date the foreign reliefs were added. It must be provided in the format YYYY-MM-DDThh:mm:ssZ
For example: |
foreignTaxCreditRelief
object
optional
|
Relief on foreign tax paid to another country on overseas income. |
amount
number
required
|
The amount of Foreign Tax Credit Relief (FTCR). The value must be greater than 0 and up to 99999999999.99.
For example: |
foreignIncomeTaxCreditRelief
array
optional
|
Financial details about foreign income tax credit relief. |
countryCode
string
required
|
A three-letter code that represents a country name. The value must be ISO 3166-1 alpha-3
For example: |
foreignTaxPaid
number
optional
|
The amount of foreign Tax Paid on foreign income tax credit relief. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
taxableAmount
number
required
|
The amount of foreign Tax Paid on foreign income tax credit relief. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
employmentLumpSum
boolean
required
|
A boolean indicating whether employment lump sum for foreign tax credit relief has been claimed.
For example: |
foreignTaxForFtcrNotClaimed
object
optional
|
Object that holds the key value for foreign tax for FTCR not claimed |
amount
number
required
|
The amount paid on foreign tax not claimed (FTRC). The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
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: |
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
create-and-amend-reliefs-foreign
delete-reliefs-foreign
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
/individuals/reliefs/foreign/{nino}/{taxYear}
Create and Amend Foreign Reliefs
PUT
This endpoint enables you to create and amend foreign reliefs. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Request
Scenario: Default Example
{ "foreignTaxCreditRelief": { "amount": 2000.99 }, "foreignIncomeTaxCreditRelief": [ { "countryCode": "FRA", "taxableAmount": 1999.99, "foreignTaxPaid": 1999.99, "employmentLumpSum": false } ], "foreignTaxForFtcrNotClaimed": { "amount": 1999.99 } }
Name | Description |
---|---|
foreignTaxCreditRelief
object
optional
|
Relief on foreign tax paid to another country on overseas income. |
amount
number
required
|
The amount of Foreign Tax Credit Relief (FTCR). The value must be greater than 0 and up to 99999999999.99.
For example: |
foreignIncomeTaxCreditRelief
array
optional
|
Financial details about foreign income tax credit relief. |
countryCode
string
required
|
A three-letter code that represents a country name. The value must be ISO 3166-1 alpha-3
For example: |
foreignTaxPaid
number
optional
|
The amount of foreign Tax Paid on foreign income tax credit relief. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
taxableAmount
number
required
|
The taxable amount paid on foreign income tax credit relief. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
employmentLumpSum
boolean
required
|
A boolean indicating whether employment lump sum for foreign tax credit relief has been claimed.
For example: |
foreignTaxForFtcrNotClaimed
object
optional
|
Object that holds the key value for foreign tax for FTCR not claimed |
amount
number
required
|
The amount paid on foreign tax not claimed (FTRC). The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "links":[ { "href":"/individuals/reliefs/foreign/TC663795B/2017-18", "method":"PUT", "rel":"create-and-amend-reliefs-foreign" }, { "href":"/individuals/reliefs/foreign/TC663795B/2017-18", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/foreign/TC663795B/2017-18", "method":"DELETE", "rel":"delete-reliefs-foreign" } ] }
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: |
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
create-and-amend-reliefs-foreign
delete-reliefs-foreign
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
One or more values have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_VALUE |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
An empty or non-matching body was submitted. |
400 (Bad Request) |
RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED |
The format of the supplied country code is not valid. |
400 (Bad Request) |
FORMAT_COUNTRY_CODE |
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
/individuals/reliefs/foreign/{nino}/{taxYear}
Delete Foreign Reliefs
DELETE
This endpoint enables you to delete foreign reliefs that have been previously submitted. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2021-22. The start year and end year must not span two tax years. The minimum tax year is 2021-22. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 204 (No Content)
Response headers
Name | Description |
---|---|
X-correlationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
Pensions Reliefs
Resources relating to an individual's pensions reliefs
Pensions Reliefs resources
/individuals/reliefs/pensions/{nino}/{taxYear}
Retrieve Pensions Reliefs
GET
This endpoint enables you to retrieve tax relief on pension contributions. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2020-21. The start year and end year must not span two tax years. The minimum tax year is 2020-21. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the read:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "submittedOn":"2020-07-14T10:30:18Z", "pensionReliefs":{ "regularPensionContributions":1999.99, "oneOffPensionContributionsPaid":1999.99, "retirementAnnuityPayments":1999.99, "paymentToEmployersSchemeNoTaxRelief":1999.99, "overseasPensionSchemeContributions":1999.99 }, "links":[ { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"PUT", "rel":"create-and-amend-reliefs-pensions" }, { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"DELETE", "rel":"delete-reliefs-pensions" } ] }
Name | Description |
---|---|
submittedOn
string
required
|
An ISO-8601 compliant date-time representing when pensions reliefs was submitted on.
For example: |
pensionReliefs
object
required
|
Object that holds the key value for tax relief on pension contributions. |
regularPensionContributions
number
optional
|
The amount of regular pension contributions. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
oneOffPensionContributionsPaid
number
optional
|
The amount of the one off pensions contribution. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
retirementAnnuityPayments
number
optional
|
The amount of retirement annuity received. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
paymentToEmployersSchemeNoTaxRelief
number
optional
|
The amount of payments to employers scheme. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
overseasPensionSchemeContributions
number
optional
|
The amount of overseas pension scheme contributions. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
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: |
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
create-and-amend-reliefs-pensions
delete-reliefs-pensions
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
/individuals/reliefs/pensions/{nino}/{taxYear}
Create and Amend Pensions Reliefs
PUT
This endpoint enables you to create and amend pensions reliefs for a tax year. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2020-21. The start year and end year must not span two tax years. The minimum tax year is 2020-21. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Request
Scenario: Default Example
{ "pensionReliefs": { "regularPensionContributions": 1999.99, "oneOffPensionContributionsPaid": 1999.99, "retirementAnnuityPayments": 1999.99, "paymentToEmployersSchemeNoTaxRelief": 1999.99, "overseasPensionSchemeContributions": 1999.99 } }
Name | Description |
---|---|
pensionReliefs
object
required
|
Object that holds the key value for pensions reliefs on. |
regularPensionContributions
number
optional
|
The amount of regular pension contributions. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
oneOffPensionContributionsPaid
number
optional
|
The amount of the one off pensions contribution. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
retirementAnnuityPayments
number
optional
|
The amount of retirement annuity received. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
paymentToEmployersSchemeNoTaxRelief
number
optional
|
The amount of payments to employers scheme. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
overseasPensionSchemeContributions
number
optional
|
The amount of overseas pension scheme contributions. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Example response
{ "links":[ { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"PUT", "rel":"create-and-amend-reliefs-pensions" }, { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/pensions/TC663795B/2019-20", "method":"DELETE", "rel":"delete-reliefs-pensions" } ] }
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: |
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
create-and-amend-reliefs-pensions
delete-reliefs-pensions
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
One or more values have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_VALUE |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
An empty or non-matching body was submitted. |
400 (Bad Request) |
RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED |
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 a success response. |
Close Section
/individuals/reliefs/pensions/{nino}/{taxYear}
Delete Pensions Reliefs
DELETE
This endpoint enables you to delete tax relief on pension contributions for a tax year. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to, for example, 2020-21. The start year and end year must not span two tax years. The minimum tax year is 2020-21. No gaps are allowed, for example, 2020-22 is not valid.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 204 (No Content)
Response headers
Name | Description |
---|---|
X-correlationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
Charitable Givings
Resources relating to an individual's charitable givings
Charitable Givings resources
/individuals/reliefs/charitable-giving/{nino}/{taxYear}
Retrieve Charitable Giving Tax Relief
GET
This endpoint enables you to retrieve charitable giving tax relief for a tax year. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to. The start year and end year must not span two tax years. No gaps are allowed, for example, 2020-22 is not valid. The minimum tax year is 2017-18.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the read:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Charitable Giving Response
{ "giftAidPayments":{ "nonUkCharities":{ "charityNames":[ "non-UK charity 1", "non-UK charity 2" ], "totalAmount":1000.12 }, "totalAmount":1000.12, "oneOffAmount":1000.12, "amountTreatedAsPreviousTaxYear":1000.12, "amountTreatedAsSpecifiedTaxYear":1000.12 }, "gifts":{ "nonUkCharities":{ "charityNames":[ "non-UK charity 1", "non-UK charity 2" ], "totalAmount":1000.12 }, "landAndBuildings":1000.12, "sharesOrSecurities":1000.12 }, "links":[ { "href":"/individuals/reliefs/charitable-giving/TC663795B/2021-22", "method":"PUT", "rel":"create-and-amend-charitable-giving-tax-relief" }, { "href":"/individuals/reliefs/charitable-giving/TC663795B/2021-22", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/charitable-giving/TC663795B/2021-22", "method":"DELETE", "rel":"delete-charitable-giving-tax-relief" } ] }
Name | Description |
---|---|
giftAidPayments
object
optional
|
An object containing Gift Aid payments made to charities for the specified tax year. |
nonUkCharities
object
optional
|
An object containing Gift Aid payments made to non-UK charities for the specified tax year. |
charityNames
array
optional
|
List of all the names of all non-UK charities that received Gift Aid payments. This is mandatory if amount is greater than zero.
Must conform to the regular expression |
totalAmount
number
required
|
The total amount of Gift Aid payments made to non-UK charities for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
totalAmount
number
optional
|
The total amount of Gift Aid payments made for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
oneOffAmount
number
optional
|
The amount of one-off Gift Aid payments made for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
amountTreatedAsPreviousTaxYear
number
optional
|
The amount of Gift Aid payments made within the specified tax year that should be treated as if they were made in the previous tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
amountTreatedAsSpecifiedTaxYear
number
optional
|
The amount of Gift Aid payments brought forward from the following tax year, treated as if made in the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
gifts
object
optional
|
An object containing gifts made to charities for the specified tax year. |
nonUkCharities
object
optional
|
An object containing gifts made to non-UK charities for the specified tax year. |
charityNames
array
optional
|
List of all the names of all non-UK charities that received gifts. This is mandatory if amount is greater than zero.
Must conform to the regular expression |
totalAmount
number
required
|
The total value of shares, securities or land and buildings gifted to non-UK charities for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
landAndBuildings
number
optional
|
The value of land and buildings gifted to charity for the specified tax year. This should include any costs of the gift or sale, such as legal or valuer's fees. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
sharesOrSecurities
number
optional
|
The value of shares or securities gifted to charity for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
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: |
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
create-and-amend-charitable-giving-tax-relief
delete-charitable-giving-tax-relief
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
The client and/or agent are not authorized. This is normally because: the client is not subscribed to MTD, the agent is not subscribed to Agent Services, or the client has not authorized the agent to act on their behalf. |
403 (Forbidden) |
CLIENT_OR_AGENT_NOT_AUTHORISED |
The supplied income source could not be 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 successful response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section
/individuals/reliefs/charitable-giving/{nino}/{taxYear}
Create and Amend Charitable Giving Tax Relief
PUT
This endpoint enables you to create and amend charitable giving tax relief for a tax year. A National Insurance number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to. The start year and end year must not span two tax years. No gaps are allowed, for example, 2020-22 is not valid. The minimum tax year is 2017-18.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Content-Type
required
|
Specifies the format of the request body, which must be JSON. application/json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Request
Scenario: Charitable Giving Request
{ "giftAidPayments":{ "nonUkCharities":{ "charityNames":[ "non-UK charity 1", "non-UK charity 2" ], "totalAmount":1000.12 }, "totalAmount":1000.12, "oneOffAmount":1000.12, "amountTreatedAsPreviousTaxYear":1000.12, "amountTreatedAsSpecifiedTaxYear":1000.12 }, "gifts":{ "nonUkCharities":{ "charityNames":[ "non-UK charity 1", "non-UK charity 2" ], "totalAmount":1000.12 }, "landAndBuildings":1000.12, "sharesOrSecurities":1000.12 } }
Name | Description |
---|---|
giftAidPayments
object
optional
|
An object containing Gift Aid payments made to charities for the specified tax year. |
nonUkCharities
object
optional
|
An object containing Gift Aid payments made to charities for the specified tax year. |
charityNames
array
optional
|
List of all the names of all non-UK charities that received Gift Aid payments. This is mandatory if amount is greater than zero.
Must conform to the regular expression |
totalAmount
number
required
|
The total amount of Gift Aid payments made to non-UK charities for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
totalAmount
number
optional
|
The total amount of Gift Aid payments made for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
oneOffAmount
number
optional
|
The amount of one-off Gift Aid payments made for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
amountTreatedAsPreviousTaxYear
number
optional
|
The amount of Gift Aid payments made within the specified tax year that should be treated as if they were made in the previous tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
amountTreatedAsSpecifiedTaxYear
number
optional
|
The amount of Gift Aid payments brought forward from the following tax year, treated as if made in the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
gifts
object
optional
|
An object containing gifts made to charities for the specified tax year. |
nonUkCharities
object
optional
|
An object containing gifts made to non-UK charities for the specified tax year. |
charityNames
array
optional
|
List of all the names of all non-UK charities that received gifts. This is mandatory if amount is greater than zero.
Must conform to the regular expression |
totalAmount
number
required
|
The total value of shares, securities or land and buildings gifted to non-UK charities for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
landAndBuildings
number
optional
|
The value of land and buildings gifted to charity for the specified tax year. This should include any costs of the gift or sale, such as legal or valuer's fees. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
sharesOrSecurities
number
optional
|
The value of shares or securities gifted to charity for the specified tax year. The value must be between 0 and 99999999999.99 up to 2 decimal places.
For example: |
Responses
HTTP status 200 (OK)
Response headers
Name | Description |
---|---|
X-CorrelationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Charitable Giving Response
{ "links":[ { "href":"/individuals/reliefs/charitable-giving/TC663795B/2020-21", "method":"PUT", "rel":"create-and-amend-charitable-giving-tax-relief" }, { "href":"/individuals/reliefs/charitable-giving/TC663795B/2020-21", "method":"GET", "rel":"self" }, { "href":"/individuals/reliefs/charitable-giving/TC663795B/2020-21", "method":"DELETE", "rel":"delete-charitable-giving-tax-relief" } ] }
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: |
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
create-and-amend-charitable-giving-tax-relief
delete-charitable-giving-tax-relief
|
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
Tax year range invalid. A tax year range of one year is required. |
400 (Bad Request) |
RULE_TAX_YEAR_RANGE_INVALID |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum tax year value. |
400 (Bad Request) |
RULE_TAX_YEAR_NOT_SUPPORTED |
One or more values have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_VALUE |
One or more strings have been added with the incorrect format. |
400 (Bad Request) |
FORMAT_STRING |
Non-UK charity Gift Aid amount supplied without the non-UK Gift Aid charity names. |
400 (Bad Request) |
RULE_GIFT_AID_NON_UK_AMOUNT_WITHOUT_NAMES |
Non-UK gifts amount supplied without non-UK gifts charity names. |
400 (Bad Request) |
RULE_GIFTS_NON_UK_AMOUNT_WITHOUT_NAMES |
An empty or non-matching body was submitted. |
400 (Bad Request) |
RULE_INCORRECT_OR_EMPTY_BODY_SUBMITTED |
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 supplied income source could not be 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 no income source was found. |
Close Section
/individuals/reliefs/charitable-giving/{nino}/{taxYear}
Delete Charitable Giving Tax Relief
DELETE
This endpoint enables you to delete charitable giving tax relief for a tax year. A National Insurance Number and tax year must be provided.
Path parameters
Name | Description |
---|---|
nino
string
required
|
National Insurance number, in the format AA999999A.
For example: |
taxYear
string
required
|
The tax year the data applies to. The start year and end year must not span two tax years. No gaps are allowed, for example, 2020-22 is not valid. The minimum tax year is 2017-18.
For example: |
Request headers
Name | Description |
---|---|
Accept
required
|
Specifies the response format and the version of the API to be used. application/vnd.hmrc.1.0+json
|
Gov-Test-Scenario
optional
|
Only in sandbox environment. See Test Data table for all header values. -
|
Authorization
required
|
An
OAuth 2.0 Bearer Token
with the write:self-assessment scope.
For example: Bearer bb7fed3fe10dd235a2ccda3d50fb
|
See also fraud prevention.
Responses
HTTP status 204 (No Content)
Response headers
Name | Description |
---|---|
X-correlationId
required
|
Unique ID for operation tracking c75f40a6-a3df-4429-a697-471eeec46435
|
See also fraud prevention.
Error scenarios
Scenario | HTTP status | Code |
---|---|---|
The format of the supplied NINO field is not valid. |
400 (Bad Request) |
FORMAT_NINO |
The format of the supplied tax year field is not valid. |
400 (Bad Request) |
FORMAT_TAX_YEAR |
The specified tax year is not supported. Either the tax year specified is before the minimum tax year value, or it is after the maximum 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 supplied income source could not be 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 |
---|---|
DELETE |
Simulates success response. |
NOT_FOUND |
Simulates the scenario where no data is found. |
Close Section