From bb32b7b1af33f2d414c4a7e7934766d1f1f13ccd Mon Sep 17 00:00:00 2001 From: Andrew Clayton Date: Thu, 18 Jun 2026 20:29:44 +0100 Subject: [PATCH] Add support for the Individuals Tax Liability Adjustments API Link: Signed-off-by: Andrew Clayton --- README.rst | 2 +- src/endpoints.h | 1 + src/mtd-cli-itla.c | 47 ++++++++++++++++++++++++++++++++++++++++++++++ src/mtd-cli.c | 1 + 4 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/mtd-cli-itla.c diff --git a/README.rst b/README.rst index 80c7d07..99f2d70 100644 --- a/README.rst +++ b/README.rst @@ -55,7 +55,7 @@ It has a fairly straightforward interface, essentially :: - mtd-cli init|init-creds|init-oauth|init-nino|bd|biss|bsas|cisd|ic|ical|icgi|id|idi|ie|iei|ifi|iipi|ilos|ioi|ipi|ir|isb|isi|ob|od|pb|saa|saass|said|seb|vat|test_cu|test_fph|test_sa + mtd-cli init|init-creds|init-oauth|init-nino|bd|biss|bsas|cisd|ic|ical|icgi|id|idi|ie|iei|ifi|iipi|ilos|ioi|ipi|ir|isb|isi|itla|ob|od|pb|saa|saass|said|seb|vat|test_cu|test_fph|test_sa The first argument specifies the API to interface with diff --git a/src/endpoints.h b/src/endpoints.h index 4054ba9..6e491c4 100644 --- a/src/endpoints.h +++ b/src/endpoints.h @@ -28,6 +28,7 @@ extern const struct _endpoint ipi_endpoint; extern const struct _endpoint ir_endpoint; extern const struct _endpoint isb_endpoint; extern const struct _endpoint isi_endpoint; +extern const struct _endpoint itla_endpoint; extern const struct _endpoint ob_endpoint; extern const struct _endpoint od_endpoint; extern const struct _endpoint pb_endpoint; diff --git a/src/mtd-cli-itla.c b/src/mtd-cli-itla.c new file mode 100644 index 0000000..6683cd7 --- /dev/null +++ b/src/mtd-cli-itla.c @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +/* + * mtd-cli-itla.c - Make Tax Digital - Individuals Tax Liability Adjustments + * + * Copyright (C) 2026 Andrew Clayton + */ + +#include + +#include + +#include "mtd-cli.h" + +#define API itla + +#define API_NAME "Individuals Tax Liability Adjustments" +#define CMDS \ +"get update delete" + +static const struct endpoint endpoints[] = { + { + .name = "get", + .api_ep = MTD_API_EP_ITLA_GET, + .nr_req_args = 1, + .args = "taxYear" + }, { + .name = "update", + .api_ep = MTD_API_EP_ITLA_UPDATE, + .nr_req_args = 2, + .file_data = true, + .args = " taxYear" + }, { + .name = "delete", + .api_ep = MTD_API_EP_ITLA_DELETE, + .nr_req_args = 1, + .args = "taxYear" + }, + + {} +}; + +const struct _endpoint ENDPOINT = { + .endpoints = endpoints, + .api_name = API_NAME, + .cmds = CMDS +}; diff --git a/src/mtd-cli.c b/src/mtd-cli.c index 567505e..0948b88 100644 --- a/src/mtd-cli.c +++ b/src/mtd-cli.c @@ -54,6 +54,7 @@ static const struct api_ep { EP_MAP_ENT(ir), EP_MAP_ENT(isb), EP_MAP_ENT(isi), + EP_MAP_ENT(itla), EP_MAP_ENT(ob), EP_MAP_ENT(od), EP_MAP_ENT(pb),